1. Field of the Invention
The present invention relates to a Viterbi decoder for turbo decoding, and more particularly, to an add-compare-select (ACS) arithmetic unit for calculating a state metric.
2. Description of the Related Art
Generally, in wireless digital communication, an error correction code is added at a transmitting part and a receiving part compensates for an error using an error correction code in order to compensate for an error in a channel. Since turbo codes were introduced in 1993, they have been applied to high data rate channels in code division multiplex access (CDMA) mainly used in the U.S. and wideband CDMA (WCDMA) mainly used in Europe
FIG. 1 shows a typical turbo code encoder having a code rate of ⅓ The output of the encoder at a time instant “k” is divided into an output Xk, which is an information bit dk that is input into the encoder, an output Y1k, which is a parity generated from a first coding unit for the information bit dk, and an output Y2k, which is a parity generated from a second coding unit for the information bit dk that is rearranged by an interleaver.
Encoding is performed in units of frames, and the length of a single frame is the same as the size of the interleaver used within the encoder. In general turbo coding, the two coding units of the encoder use recursive systematic convolutional (RSC) codes having the same generated polynomial.
FIG. 2 shows a turbo code decoder corresponding to the turbo code encoder shown in FIG. 1 The decoder includes decoding units, which correspond to the coding units of the encoder, respectively, and are connected to each other in series with an interleaver and deinterleavers therebetween As in the encoder, decoding is performed in units of frames For iterative decoding, each decoding unit needs to have an ability of soft output. In FIG. 2, each decoding unit uses Maximum A-Posterior (MAP) or Soft-Output Viterbi Algorithm (SOVA)
It is known that the turbo codes can closely approach the Shannon limit which is a theoretical limit, even at a low receiving power by performing iterative decoding. SOVA and MAP are used for decoding the turbo codes. It is known that MAP has a 0.3 dB higher coding gain in an additive white Gaussian noise (AWGN) environment, in which a channel environment is good, and has a 3 dB higher coding gain in a Rayleigh fading environment, in which a channel environment is poor, than SOVA.
In order to implement an ACS arithmetic unit, which is the most important element of a decoder using MAP for calculating a state metric, normalization is needed.
Since a conventional ACS arithmetic unit requires circuits such as a comparator, a multiplexer, and an adder for normalization, a hardware load is large when a forward state metric and a backward state metric are arranged in parallel in a system In addition, in the conventional ACS arithmetic unit requiring the comparator, the multiplexer, and the adder, a system clock signal cannot be used efficiently. Accordingly, the entire throughput of an integrated circuit cannot be increased, and latency cannot be reduced